package cn.e4j.modular.api.service;

import cn.e4j.core.dto.impl.Dto;
import cn.e4j.modular.api.mapper.FwbgMapper;
import cn.e4j.modular.api.mapper.FwpgMapper;
import cn.e4j.modular.crm.entity.*;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;


/**
 *功能描述 
 * @author caijy
 * @description  服务报工
 * @datetime 2019-11-11 0011 9:25
 * @return 
 */

@Service
public class FwbgService{
    
    @Autowired
    FwbgMapper fwbgMapper;


    /**
     * 获取现场回报单列表
     *
     * @param inDto
     * @return
     */
    public List<Dto> getListPage(Page page,Dto inDto) {
        return fwbgMapper.getListPage(page,inDto);
    }

    /**
     * 现场回报保存
     *
     * @param
     * @return
     */
    @Transactional
    public void saveData(MmrgT mmrgT, List<MmrhT> MmrhTs, List<MmriT> MmriTs, MmrdT mmrdT, List<MmrqT> mmrqTS) {
        mmrgT.updateById();

        String docno = mmrgT.getMMRGDOCNO();

        Dto dto = new Dto();
        dto.put("docno",docno);
        //1.deletebyid会报错 2.同一个mapper接口也不能做批量删除 Druid需设置multiStatementAllow为TRUE才行
        fwbgMapper.deleteMMRH(dto);
        fwbgMapper.deleteMMRI(dto);
        fwbgMapper.deleteMMRQ(dto);

        for(MmrhT mmrhT : MmrhTs){
            mmrhT.insert();
        }

        for(MmriT mmriT : MmriTs){
            mmriT.insert();
        }

        for(MmrqT mmrqT : mmrqTS){
            mmrqT.insert();
        }

        //修改状态 
        mmrdT.updateById();

    }

    public Dto getMmraData(Dto inDto){
        inDto.put("lang","2");
        return fwbgMapper.getMmraData(inDto);
    }

    public List<Dto> getMmrdListPage(Dto inDto){
        return fwbgMapper.getMmrdListPage(inDto);
    }

    public Dto getMmrdData(Dto inDto){
        return fwbgMapper.getMmrdData(inDto);
    }

}
